[JS专项训练]CCC WP
一个web页面,其中有2个超链接,
login路由用于登录,通过响应头可以看出使用JWT TOKEN进行身份验证
解析一下,可以发现有密钥,负载部分运用了ROT13加密
ROT加解密在线工具
解密后admin为false,现在要想办法修改admin为true,但是没有密钥
回头看/adminNames路由,会下载一个文件,里面是一个github仓库的相关信息,访问该仓库发现是一种允许一些用户名登录其服务器的项目
观察其响应体,存在任意文件下载
查阅资料了解到,nodejs的一些环境变量会存储在根目录的.env文件中,下载下来查看key
这里猜测用了dotenv模块,作用就是从.env文件中读取键值对作为系统变量
JWT_SECRET=Th1sSECr3TMu5TN0Tb3L43KEDEv3RRRRRR!!1
拿到key后就是用rot13加密后的payload伪造JWT,访问/admin路由(扫出来的)
注意name要从github仓库里用户名出,有些是无效的
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Lanb0's blog|一个默默无闻的网安爱好者!